2024年12月蓝桥杯蓝桥Python(STEMA)中/高级
STEMA
2024
2025-06-08 17:35:52
88次
一、单选题
二、编程题
编程实现:
魔法师艾莉有一条由 n 颗宝石组成的项链,这些宝石围成一圈。每颗宝石用字符 'A' 或字符 'B' 表示,'A' 表示魔力宝石,'B' 表示普通宝石。
艾莉可以利用项链中 2 颗相邻的魔力宝石来施展一次魔咒。施展魔咒后,这 2 颗宝石就会失去魔力变为普通宝石,同时艾莉的魔力值增加 1 点。
给定一个字符串 S,表示宝石项链,第一个字符和最后一个字符表示的宝石位置相邻。请计算艾莉最多能获得多少点魔力值。
例如:n = 7,S = "ABAAABA";第一个字符表示第 1 颗宝石,第二个字符表示第 2 颗宝石......以此类推,项链如下图所示:

艾莉可以按照以下方案来施展魔咒增加魔力值:
1)利用第 3 颗和第 4 颗宝石施展一次魔咒,施展后项链状态如下;

2)利用第 7 颗和第 1 颗宝石施展一次魔咒,施展后项链状态如下。

此时,项链中没有 2 颗相邻的魔力宝石,无法再施展魔咒,故艾莉最多可以获得 2 点魔力值。
输入描述:
第一行输入一个整数 n(5≤n≤100),表示项链中宝石的总数;
第二行输入一个长度为 n 的字符串 S,S 仅包含字符 'A' 和 'B','A' 表示魔力宝石,'B' 表示普通宝石。
输出描述:
输出一个整数,表示艾莉最多可以获得多少点魔力值。
样例输入:
7 ABAAABA
样例输出:
2
【知识点】 蓝桥杯Python中/高级
编程实现:
从整数 1 开始,按从小到大的顺序排列若干行,每行 10 个整数,其中所有 4 的倍数都会被标记为绿色。
整数排列如下:

给定一个整数 n,找出第 n 行被标记为绿色的整数,并按从小到大的顺序输出。
例如:
n = 2,按从小到大的顺序输出第 2 行被标记为绿色的整数:12、16、20;
n = 3,按从小到大的顺序输出第 3 行被标记为绿色的整数:24、28。
输入描述:
输入一个整数 n(1≤n≤100)。
输出描述:
按从小到大的顺序输出若干行,每行一个整数,表示第 n 行被标记为绿色的整数。
样例输入:
2
样例输出:
12 16 20
【知识点】 蓝桥杯Python中/高级
乐乐进入了一个神奇的糖果屋,糖果屋中有 n 个罐子,每个罐子中都有若干颗糖果。糖果屋中的主人为了欢迎远道而来的乐乐,让乐乐感受到糖果屋的甜蜜,允许乐乐拿取 k 次糖果,拿取规则如下:
1)每次可以从任意一个罐子中拿取一颗糖果;
2)每次拿取糖果时能够获得甜蜜值,获得的甜蜜值为拿取前这个罐子中糖果的数量。
现给定两个整数 n 和 k,以及 n 个罐子中糖果的数量。已知乐乐初始的甜蜜值为 0,请计算按照规则他能够获得的最大甜蜜值。
例如:
n = 3,k = 4,3 个罐子中糖果数量依次为 10,5,11,能够获得最大甜蜜值的拿取方式如下:
第一次拿取第 3 个罐子中的一颗糖果,获得的甜蜜值为 11,拿取后 3 个罐子中糖果数量依次为 10,5,10;
第二次拿取第 1 个罐子中的一颗糖果,获得的甜蜜值为 10,拿取后 3 个罐子中糖果数量依次为 9,5,10;
第三次拿取第 3 个罐子中的一颗糖果,获得的甜蜜值为 10,拿取后 3 个罐子中糖果数量依次为 9,5,9;
第四次拿取第 1 个罐子中的一颗糖果,获得的甜蜜值为 9,拿取后 3 个罐子中糖果数量依次为 8,5,9;
最终获得的最大甜蜜值为 40(11 + 10 + 10 + 9)。
输入描述:
第一行输入两个正整数 n,k(1≤n≤1000,1≤k<105),分别表示糖果屋中罐子的数量以及乐乐可以拿取糖果的次数;
第二行输入 n 个整数(1≤整数≤100),表示每个罐子中糖果的数量,整数之间以一个空格隔开。
数据保证,所有罐子的糖果总数大于 k。
输出描述:
输出一个正整数,表示乐乐能够获得的最大甜蜜值。
样例输入:
3 4 10 5 11
样例输出:
40
【知识点】 蓝桥杯Python中/高级
